package com.opennews.openplatform

class JourneyIncomeExpenseDetail {
    String id
    AccountGroup accountGroup
    Journey journey
    BankCard bankCard
    String location
    String currency
    BigDecimal amount
    String type                 // IncomeExpenseTypeConstant
    String paymentType          // PaymentTypeConstant
    String details
    String remark
    Date incomeExpenseDate
    BigDecimal latitude         // 坐标纬度，因为记录的海外地区，此处为标准GPS坐标。
    BigDecimal longitude        // 坐标经度，因为记录的海外地区，此处为标准GPS坐标。
    String address              // 根据经纬度从地图API获取的地址信息，由逗号间隔，如中国,浙江省,杭州市,萧山区,北干街道。
    String formattedAddress     // 根据经纬度从地图API获取的格式化后的地址信息，如浙江省杭州市萧山区北干街道博奥路。
    String province             // 根据经纬度从地图API获取的坐标点所在省名称，例如：北京市。
    String city                 // 根据经纬度从地图API获取的坐标点所在城市名称，请注意：当城市是省直辖县时返回为空，以及城市为北京、上海、天津、重庆四个直辖市时，该字段返回为空。
    String district             // 根据经纬度从地图API获取的坐标点所在区，例如：海淀区。
    String createdBy
    String updatedBy
    Date dateCreated
    Date lastUpdated

    static constraints = {
        accountGroup nullable: false
        journey nullable: false
        bankCard nullable: true
        location nullable: false, blank: false
        currency nullable: false, blank: false
        amount nullable: false, scale: 2
        type nullable: false, blank: false
        paymentType nullable: true, blank: true
        details nullable: false, blank: false, maxSize: 100
        remark nullable: true, blank: true, maxSize: 100
        incomeExpenseDate nullable: false
        latitude nullable: true, scale: 6
        longitude nullable: true, scale: 6
        address nullable: true, blank: true
        formattedAddress nullable: true, blank: true
        province nullable: true, blank: true
        city nullable: true, blank: true
        district nullable: true, blank: true
    }

    static mapping = {
        incomeExpenseDate index: "idx_journey_income_expense_detail_income_expense_date"
    }
}